home *** CD-ROM | disk | FTP | other *** search
- TreeQBSP v1.55
-
- Written by Greg Lewis (http://www-personal.umich.edu/~gregl/quake.html)
- Based on code originally by John Carmack, Ken Alverson, and Yahn Bernier.
-
-
- *** Summary
-
- This version of QBSP is intended as a memory-friendly replacement for the
- currently existing variants of QBSP, including all features of other
- programs (except as noted below) and a few totally new improvements. A
- list of the big features:
-
- Drastically reduced memory requirements (up to 90% for small maps,
- averaging perhaps 50-60% for large maps)
- Removed most hard-coded limits (MAX_MAP_PLANES, MAX_MAP_etc)
- Removed hull files (*.h1 and *.h2)
- Transparent water support for OpenGL cards
- Multiwad (WorldCraft-style) support, unlimited number of WADs
- (well OK, 1024 character limit on the "wad" string)
- New, much cleaner .pts file for leaky maps
- Supports .por files for the BSP editor
- Support for Hipnotic/Ritual entity rotation
- Creates a qbsp.log file containing the output it generates
-
-
- *** Important notes
-
- The default behavior for this QBSP is slightly different from the QBSP
- that John Carmack originally released. Most importantly, tjunc calculations
- are turned OFF by default, and can be enabled by a command line option.
- If you want to have exactly the same options as the original QBSP,
- run it like this:
-
- qbsp -tjunc -oldaxis -oldleak [mapname]
-
- Errors and warnings are now neatly categorized by number (similar to the
- way compilers work). You will find a reference guide for these errors
- available in the errors.txt file included with this program. This is
- available on my web page and may contain updated info on fixing problems.
-
-
- *** Todo list
-
- The following are potential bugs and other issues that may be fixed in
- future versions of this program. I cannot guarantee any future releases
- due to overload in work at school, but watch the web page for more info.
-
- Investigate internal limits on .bsp format (such as clipnodes < 32767)
- Rare problem with new .pts file going through walls (if you see this,
- please email me the .map)
- Enhance the errors.txt file
-
-
- *** Contacting the author
-
- I'll preface this by saying that I receive too much email already. I
- won't reply to useless email. I am definitely interested in hearing bug
- reports and feature requests for this program. But before you send me
- email check out my site first to make sure that I haven't already
- addressed a particular bug or feature:
-
- http://www-personal.umich.edu/~gregl/quake.html
-
- If you still feel you have something important to tell me, you can email
- me at gregl@umich.edu. If you are reporting a bug, chances are that I
- will want a copy of your .MAP to reproduce the error, so be prepared for
- me to ask for it.
-
-
- *** For the Curious
-
- Currently, QBSP works something like this. The numbers in parentheses
- after each section is the approximate percent of the total QBSP that each
- portion takes. This entire cycle (except for LoadMapFile) is actually
- done 3 times in a row, once for each "hull". Each hull contains information
- for one size of creature: point-size, player-size, and shambler-size.
-
- LoadMapFile (2%)
- Converts from the .MAP format into an internal map format.
- Brush_LoadEntity (18%)
- Converts brushes from a plane-based description into a set of polygons
- describing each brush.
- CSGFaces (50%)
- Chops brushes into pieces where they intersect, removes the pieces that
- are "inside" other brushes, and merges the remaining pieces back
- together.
- SolidBSP (6%)
- Builds a BSP tree for the level.
- Portalize (6%)
- Creates the "portals" that vis uses, from the BSP information.
- FillOutside (0.1%)
- Checks for leaks in the level, and strips away the "outside" area of
- the level if it is sealed. If there is a leak, writes the .pts file.
- MergeAll (1%)
- Merges more surfaces together, once the outside has been removed.
- SolidBSP (5%)
- Builds another BSP tree, now that the outside has been removed.
- Portalize (4%)
- Creates another set of portals using the new BSP tree.
- MakeFaceEdges (4%)
- GrowRegions (0%)
- These two perform some final processing of information before storing
- it in the .BSP file.
-
- *** Credits
-
- John Carmack for the original code
- Ken Alverson for wqbsp source
- Yahn Bernier for ywbsp source and helpful advice
- ArchVile for general qbsp algorithm help
- Crowbar for -transsky and -splitspecial stuff
- EvlGenius for -noverbose
- Everyone else for everything else
-
- *** Revision log
-
- v1.55
-
- Attempts to heal degenerates edges automatically
- Changed the loading order of brushes/faces back to reverse, same as other qbsp
- variants, to fix .prt bloat problems
- Fixed -onlyents with rotation
- Removed debug printfs
-
- v1.50
-
- The first thing. More dynamic memory everywhere.